home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 2001 October
/
PCWorld_2001-10_cd.bin
/
Software
/
Vyzkuste
/
context
/
ConTEXTsetup.exe
/
{app}
/
Highlighters
/
x86 Assembler.chl
Wrap
Text File
|
2001-07-02
|
10KB
|
219 lines
//////////////////////////////////////////////////////////////////////////////
//
// x86 Assembly highlighter written by Eden Kirin, foetus@aphex.fpz.hr
//
//////////////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////
// language name
Language: x86 Assembler
//////////////////////////////////////////////////////////////////////////////
// default file filter
// note: if more than one extension is associated, eg:
// C/C++ files (*.c,*.cpp,*.h,*.hpp)|*.c;*.cpp;*.h;*.hpp
Filter: x86 Assembler files (*.asm)|*.asm
//////////////////////////////////////////////////////////////////////////////
// help file which will be invokend when F1 is pressed
HelpFile:
//////////////////////////////////////////////////////////////////////////////
// language case sensitivity
// 0 - no
// 1 - yes
CaseSensitive: 0
//////////////////////////////////////////////////////////////////////////////
// comment type: LineComment - comment to the end of line
// BlockCommentBeg - block comment begin, it could be
// multiline
// BlockCommentEnd - block comment end
LineComment: ;
BlockCommentBeg:
BlockCommentEnd:
//////////////////////////////////////////////////////////////////////////////
// identifier characters
// note: characters shouldn't be delimited, except arrays
// array of chars could be defined as from_char..to_char
IdentifierBegChars: a..z A..Z _%@.
IdentifierChars: a..z A..Z _ 0..9 ?
//////////////////////////////////////////////////////////////////////////////
// numeric constants begin characters
// note: characters shouldn't be delimited, except arrays
// array of chars could be defined as from_char..to_char
// number always starts with 0..9 except when NumConstBeg
// defines other
NumConstBegChars: 0..9
//////////////////////////////////////////////////////////////////////////////
// numeric constants characters
// note: characters shouldn't be delimited, except arrays
// array of chars could be defined as from_char..to_char
// number always starts with 0..9 except when NumConstBeg
// defines other
NumConstChars: 0..9 abcdefhABCDEFH
//////////////////////////////////////////////////////////////////////////////
// escape character
EscapeChar:
//////////////////////////////////////////////////////////////////////////////
// keyword table
// note: delimited with spaces, lines could be wrapped
// you may divide keywords into two groups which can be
// highlighted differently
// op codes
KeyWords1: aaa aad aam adc add and arpl bound bsf bsr bswap bt btc
btr bts call cbw cdq clc cld cli clts cmc cmp cmps
cmpsb cmpsd cmpsw cmpxchg cwd cwde daa das dec div emms
enter f2xm1 fabs fadd faddp fbld fbstp fchs fclex
fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu
fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdiv
fdivp fdivr fdivrp femms ffree fiadd ficom ficomp fidiv
fidivr fild fimul fincstp finit fist fistp fisub fisubr
fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi
fldz fmul fmulp fnclex fninit fnop fnsave fnstcw
fnstenv fnstsw fpatan fprem1 fptan frndint frstor fsave
fscale fsin fsincos fsqrt fst fstcw fstenv fstp fstsw
fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip
fucomp fucompp fwait fxch fxtract fyl2xp1 hlt idiv imul
in inc ins insb insd insw int into invd invlpg iret
iretd iretw ja jae jb jbe jc jcxz je jecxz jg jge jl
jle jmp jna jnae jnb jnbe jnc jne jng jnge jnl jnle jno
jnp jns jnz jo jp jpe jpo js jz lahf lar lds lea leave
les lfs lgdt lgs lidt lldt lmsw lock lods lodsb lodsd
lodsw loop loope loopne loopnz loopz lsl lss ltr mov
movd movq movs movsb movsd movsw movsx movzx mul neg
nop not or out outs outsb outsd outsw packssdw packsswb
packuswb paddb paddd paddsb paddsw paddusb paddusw
paddw pand pandn pavgusb pcmpeqb pcmpeqd pcmpeqw
pcmpgtb pcmpgtd pcmpgtw pf2id pfacc pfadd pfcmpeq
pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1
pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmaddwd
pmulhrw pmulhw pmullw pop popa popad popaw popf popfd
popfw por prefetch prefetchw pslld psllq psllw psrad
psraw psrld psrlq psrlw psubb psubd psubsb psubsw
psubusb psubusw psubw punpckhbw punpckhdq punpckhwd
punpcklbw punpckldq punpcklwd push pusha pushad pushaw
pushf pushfd pushfw pxor rcl rcr rep repe repne repnz
repz ret rol ror sahf sal sar sbb scas scasb scasd
scasw seta setae setb setbe setc sete setg setge setl
setle setna setnae setnb setnbe setnc setne setng
setnge setnl setnle setno setnp setns setnz seto setp
setpo sets setz sgdt shl shld shr shrd sidt sldt smsw
stc std sti stos stosb stosd stosw str sub test verr
verw wait wbinvd xadd xchg xlat xlatb xor
// registers
KeyWords2: ax bx cx dx ex si di bp sp ss es ds cs ip
al ah bl bh ch cl dh dl eh el
eax ebx ebp ecx edi edx esi esp
KeyWords3: %out .186 .286 .286c .286p .287 .386 .386p .387 .8086
.8087 .alpha .seq .code .const .cref .data .data? .err
.err1 .err2 .errb .errdef .errdif .erre .fardata
.fardata? .lall .lfcond .list .model .msfloat .radix
.sall .sfcond .stack .type .xall .xcref .xlist @curseg
@filename @code @codesize @datasize @const @data @data?
@fardata @fardata? @stack align and assume at b byte
comm comment common compact d db dd df dosseg dup fq dt
dw dword else end endif endm endp ends eq equ even
exitm extrn far ge group h high huge ifdef include
includelib irp irpc label large le length low local lt
macro mask medium memory name near not o offset or org
page para proc public purge q record rept seg segment
shl short size shr small stack struc subttl this tiny
title type use16 use32 width word xor code data nothing
ptr
//////////////////////////////////////////////////////////////////////////////
// string delimiter: StringBegChar - string begin char
// StringEndChar - string end char
// MultilineStrings - enables multiline strings, as perl
// has it
StringBegChar: "
StringEndChar: "
MultilineStrings: 0
//////////////////////////////////////////////////////////////////////////////
// use preprocessor: 0 - no
// 1 - yes
// note: if yes, '#' and statements after it will be
// highlighted with Preprocessor defined colors
UsePreprocessor: 0
//////////////////////////////////////////////////////////////////////////////
// highlight line: 0 - no
// 1 - yes
// note: if yes, current line will be highlighted
CurrLineHighlighted: 0
//////////////////////////////////////////////////////////////////////////////
// colors
// note: first value is foreground, second is background color
// and third (optional) represents font attribute:
// B - bold
// I - italic
// U - underline
// S - strike out
// attributes can be combined: eg. B or BI
// as value, it could be used any standard windows color:
// clBlack, clMaroon, clGreen, clOlive, clNavy,
// clPurple, clTeal, clGray, clSilver, clRed, clLime,
// clYellow, clBlue, clFuchsia, clAqua, clLtGray,
// clDkGray, clWhite, clScrollBar, clBackground,
// clActiveCaption, clInactiveCaption, clMenu, clWindow,
// clWindowFrame, clMenuText, clWindowText, clCaptionText,
// clActiveBorder, clInactiveBorder, clAppWorkSpace,
// clHighlight, clHighlightText, clBtnFace, clBtnShadow,
// clGrayText, clBtnText, clInactiveCaptionText,
// clBtnHighlight, cl3DDkShadow, cl3DLight, clInfoText,
// clInfoBk
// as value, it could be used hex numeric constant too:
// $BBGGRR - BB: blue, GG: green, RR: red, eg: $FF6A00
SpaceCol: clWindowText clWindow
Keyword1Col: clNavy clWindow
Keyword2Col: clPurple clWindow
Keyword3Col: clBlue clWindow
IdentifierCol: clWindowText clWindow
CommentCol: clGray clWindow
NumberCol: clRed clWindow
StringCol: clMaroon clWindow
SymbolCol: clGray clWindow
PreprocessorCol: clBlue clWindow
SelectionCol: clWhite clNavy
CurrentLineCol: clBlack clYellow